package com.passion.fs.controller;

import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import com.passion.fs.core.FileSystem;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;

/**
 * 类描述：
 *
 * @author ZhuYin
 * @since 2025年01月10日
 */
@RestController
public class FileCommonController {

    @Resource
    private FileSystem fileSystem;

    /**
     * 方法说明：根据系统文件名称或id下载文件
     *
     * @param fileSysName 文件在文件系统中的名称或者文件id
     * @param response    响应对象
     * @author ZhuYin
     * @since 2025年01月07日
     */
    @ApiOperationSupport(author = "ZhuYin", order = 10)
    @ApiOperation("根据系统文件名称或id下载文件")
    @GetMapping("/files/{fileSysName}")
    public void downloadFile(@PathVariable("fileSysName") String fileSysName, HttpServletResponse response) {
        fileSystem.download(fileSysName, response);
    }
}
